﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Linq;

using BusinessObjects.BusinessRules;

namespace BusinessObjects
{
    /// <summary>
    /// Class that holds information about a product category.
    /// </summary>
    /// <remarks>
    /// Enterprise Design Pattern: Domain Model, Identity Field.
    /// 
    /// This is where your business logic resides. In this example there are none.
    /// Another place for business logic and business rules is in the Facade.  
    /// For an example see CustomerFacade in the Facade layer.
    /// 
    /// The Domain Model Design Pattern states that domain objects incorporate 
    /// both behavior and data. Behavior may include simple or complex business logic.
    /// 
    /// The Identity Field Design Pattern saves the ID field in an object to maintain
    /// identity between an in-memory business object and that database rows.
    /// </remarks>
    public class Employee : BusinessObject
    {
        /// <summary>
        /// Default constructor. Establishes simple business rules.
        /// </summary>
        public Employee()
        {

        }

        public Employee(int employeeId, int supplierId, string name, string picture, int sex, string yahooId, string skypeId, string googleId, string facebookId, string email, string telephone, string mobilePhone, string phoneNumber, int status)
            : this()
        {
            EmployeeId = employeeId;
            SupplierId = supplierId;
            Name = name;
            Picture = picture;
            Sex = sex;
            YahooId = yahooId;
            SkypeId = skypeId;
            GoogleId = googleId;
            FacebookId = facebookId;
            Email = email;
            Telephone = telephone;
            MobilePhone = mobilePhone;
            Status = status;
        }

        /// <summary>
        /// Gets or sets unique category identifier.
        /// The Identity Field Design Pattern. 
        /// </summary>
        public int EmployeeId { get; set; }

        /// <summary>
        /// Gets or sets the SupplierId.
        /// </summary>
        public int SupplierId { get; set; }

        /// <summary>
        /// Gets or sets the Name.
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// Gets or sets the Picture.
        /// </summary>
        public string Picture { get; set; }

        /// <summary>
        /// Gets or sets the Sex.
        /// </summary>
        public int Sex { get; set; }

        /// <summary>
        /// Gets or sets the YahooId.
        /// </summary>
        public string YahooId { get; set; }

        /// <summary>
        /// Gets or sets the SkypeId.
        /// </summary>
        public string SkypeId { get; set; }

        /// <summary>
        /// Gets or sets the GoogleId.
        /// </summary>
        public string GoogleId { get; set; }

        /// <summary>
        /// Gets or sets the FacebookId.
        /// </summary>
        public string FacebookId { get; set; }

        /// <summary>
        /// Gets or sets the PhoneNumber.
        /// </summary>
        public string Telephone { get; set; }

        /// <summary>
        /// Gets or sets the PhoneNumber.
        /// </summary>
        public string MobilePhone { get; set; }

        /// <summary>
        /// Gets or sets the PhoneNumber.
        /// </summary>
        public string Email { get; set; }
        /// <summary>
        /// Gets or sets the Version.
        /// </summary>
        public string Version { get; set; }

        /// <summary>
        /// Gets or sets the Status.
        /// </summary>
        public int Status { get; set; }


    }
}
